package com.rzl.expense.expense.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.rzl.expense.common.annotation.Excel;
import com.rzl.expense.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

/**
 * 电费应付月报对象 ele_amortize_info
 * 
 * @author expense
 * @date 2024-11-30
 */
public class EleAmortizeInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    private Long id;

    /** 报账点审核状态0审核通过，-1未提交，3删除审核中，4删除审核通过，6删除审核不通过，8审核不通过，9审核中 */
    @Excel(name = "报账点审核状态0审核通过，-1未提交，3删除审核中，4删除审核通过，6删除审核不通过，8审核不通过，9审核中")
    private Long auditingState;

    /** 报账点所属地市ID */
    @Excel(name = "报账点所属地市ID")
    private String pregId;

    /** 报账点所属地市 */
    @Excel(name = "报账点所属地市")
    private String pregName;

    /** 报账点所属区县ID */
    @Excel(name = "报账点所属区县ID")
    private String regId;

    /** 报账点所属区县 */
    @Excel(name = "报账点所属区县")
    private String regName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String billaccountId;

    /** 报账点编码 */
    @Excel(name = "报账点编码")
    private String billaccountCode;

    /** 报账点名称 */
    @Excel(name = "报账点名称")
    private String billaccountName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String contractCode;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private String contractName;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long supplyMothed;

    /** 合同类型 */
    @Excel(name = "合同类型")
    private Long dataFrom;

    /** 合同期始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同期始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractStartdate;

    /** 合同期终 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "合同期终", width = 30, dateFormat = "yyyy-MM-dd")
    private Date contractEnddate;

    /** 计量方式'是否包干 0：否  1：是', */
    @Excel(name = "计量方式'是否包干 0：否  1：是',")
    private Long isIncludeAll;

    /** '是否含税 0：否  1：是' */
    @Excel(name = "'是否含税 0：否  1：是'")
    private Long includeTax;

    /** 缴费单编码（后付费+核销） */
    @Excel(name = "缴费单编码", readConverterExp = "后=付费+核销")
    private String paymentCode;

    /** 缴费单id */
    @Excel(name = "缴费单id")
    private String paymentId;

    /** 缴费申请日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费申请日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountDate;

    /** 财务返回编号 */
    @Excel(name = "财务返回编号")
    private String claimNum;

    /** 缴费期始 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期始", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountStartdate;

    /** 缴费期终 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "缴费期终", width = 30, dateFormat = "yyyy-MM-dd")
    private Date billamountEnddate;

    /** 购电方式 */
    @Excel(name = "购电方式")
    private Long buyMethod;

    /** 发票/收据 */
    @Excel(name = "发票/收据")
    private Long invoiceType;

    /** 合同或固化约定税率（ */
    @Excel(name = "合同或固化约定税率", readConverterExp = "合同或固化约定税率（")
    private String taxRate;

    /** 合同或固化约定分摊比例 */
    @Excel(name = "合同或固化约定分摊比例")
    private BigDecimal cmccRatio;

    /** 报账点本次总报账电量（实际总耗电量） */
    @Excel(name = "报账点本次总报账电量", readConverterExp = "实=际总耗电量")
    private BigDecimal totalDegreeActual;

    /** 电费不含税（电费不含税+电损不含税） */
    @Excel(name = "电费不含税", readConverterExp = "电=费不含税+电损不含税")
    private BigDecimal billamountNoActual;

    /** 电费含税金额（电费不含税金额+电费税金） */
    @Excel(name = "电费含税金额", readConverterExp = "电=费不含税金额+电费税金")
    private BigDecimal billamountWithActual;

    /** 电费不含税/总电量 */
    @Excel(name = "电费不含税/总电量")
    private BigDecimal priceNoTax;

    /** 电费含税金/总电量 */
    @Excel(name = "电费含税金/总电量")
    private BigDecimal priceWithTax;

    /** 实际价款 */
    @Excel(name = "实际价款")
    private BigDecimal priceActual;

    /** 实际税金 */
    @Excel(name = "实际税金")
    private BigDecimal elecTaxamountActual;

    /** 实际报账金额 */
    @Excel(name = "实际报账金额")
    private BigDecimal billAmountActual;

    /** 年份 */
    @Excel(name = "年份")
    private Long onYear;

    /** 月份 */
    @Excel(name = "月份")
    private Long onMonth;

    /** 二级费用类型：1、移动缴电费（非铁塔公司站点） 2、移动缴电费（铁塔公司站点）3、铁塔公司缴电费（铁塔公司站点） */
    @Excel(name = "二级费用类型：1、移动缴电费", readConverterExp = "非=铁塔公司站点")
    private Integer secondFeeType;

    /** 站点类型1、核心站点2、汇聚传输站点3、基站4、室分及WLAN5、家客集客6、IDC机房 */
    @Excel(name = "站点类型1、核心站点2、汇聚传输站点3、基站4、室分及WLAN5、家客集客6、IDC机房")
    private Integer siteType;

    /** 是否超标：1 超标；0 未超标 */
    @Excel(name = "是否超标：1 超标；0 未超标")
    private Long overFlow;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Date pushDate;

    /** 直供电用电分类：1、一般工商业用电，2、大工业用电，3、市场化交易/直购用电，4、5G优惠政策用电，5、居民用电 */
    @Excel(name = "直供电用电分类：1、一般工商业用电，2、大工业用电，3、市场化交易/直购用电，4、5G优惠政策用电，5、居民用电")
    private Integer electricityType;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal lossDegrees;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal lossNotaxAmountTotal;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private BigDecimal billamountNotax;

    /** 最后更新时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "最后更新时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date lastModifyTime;

    /** 实际分摊比例 */
    @Excel(name = "实际分摊比例")
    private BigDecimal cmccRatioActual;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setAuditingState(Long auditingState) 
    {
        this.auditingState = auditingState;
    }

    public Long getAuditingState() 
    {
        return auditingState;
    }
    public void setPregId(String pregId) 
    {
        this.pregId = pregId;
    }

    public String getPregId() 
    {
        return pregId;
    }
    public void setPregName(String pregName) 
    {
        this.pregName = pregName;
    }

    public String getPregName() 
    {
        return pregName;
    }
    public void setRegId(String regId) 
    {
        this.regId = regId;
    }

    public String getRegId() 
    {
        return regId;
    }
    public void setRegName(String regName) 
    {
        this.regName = regName;
    }

    public String getRegName() 
    {
        return regName;
    }
    public void setBillaccountId(String billaccountId) 
    {
        this.billaccountId = billaccountId;
    }

    public String getBillaccountId() 
    {
        return billaccountId;
    }
    public void setBillaccountCode(String billaccountCode) 
    {
        this.billaccountCode = billaccountCode;
    }

    public String getBillaccountCode() 
    {
        return billaccountCode;
    }
    public void setBillaccountName(String billaccountName) 
    {
        this.billaccountName = billaccountName;
    }

    public String getBillaccountName() 
    {
        return billaccountName;
    }
    public void setContractCode(String contractCode) 
    {
        this.contractCode = contractCode;
    }

    public String getContractCode() 
    {
        return contractCode;
    }
    public void setContractName(String contractName) 
    {
        this.contractName = contractName;
    }

    public String getContractName() 
    {
        return contractName;
    }
    public void setSupplyMothed(Long supplyMothed) 
    {
        this.supplyMothed = supplyMothed;
    }

    public Long getSupplyMothed() 
    {
        return supplyMothed;
    }
    public void setDataFrom(Long dataFrom) 
    {
        this.dataFrom = dataFrom;
    }

    public Long getDataFrom() 
    {
        return dataFrom;
    }
    public void setContractStartdate(Date contractStartdate) 
    {
        this.contractStartdate = contractStartdate;
    }

    public Date getContractStartdate() 
    {
        return contractStartdate;
    }
    public void setContractEnddate(Date contractEnddate) 
    {
        this.contractEnddate = contractEnddate;
    }

    public Date getContractEnddate() 
    {
        return contractEnddate;
    }
    public void setIsIncludeAll(Long isIncludeAll) 
    {
        this.isIncludeAll = isIncludeAll;
    }

    public Long getIsIncludeAll() 
    {
        return isIncludeAll;
    }
    public void setIncludeTax(Long includeTax) 
    {
        this.includeTax = includeTax;
    }

    public Long getIncludeTax() 
    {
        return includeTax;
    }
    public void setPaymentCode(String paymentCode) 
    {
        this.paymentCode = paymentCode;
    }

    public String getPaymentCode() 
    {
        return paymentCode;
    }
    public void setPaymentId(String paymentId) 
    {
        this.paymentId = paymentId;
    }

    public String getPaymentId() 
    {
        return paymentId;
    }
    public void setBillamountDate(Date billamountDate) 
    {
        this.billamountDate = billamountDate;
    }

    public Date getBillamountDate() 
    {
        return billamountDate;
    }
    public void setClaimNum(String claimNum) 
    {
        this.claimNum = claimNum;
    }

    public String getClaimNum() 
    {
        return claimNum;
    }
    public void setBillamountStartdate(Date billamountStartdate) 
    {
        this.billamountStartdate = billamountStartdate;
    }

    public Date getBillamountStartdate() 
    {
        return billamountStartdate;
    }
    public void setBillamountEnddate(Date billamountEnddate) 
    {
        this.billamountEnddate = billamountEnddate;
    }

    public Date getBillamountEnddate() 
    {
        return billamountEnddate;
    }
    public void setBuyMethod(Long buyMethod) 
    {
        this.buyMethod = buyMethod;
    }

    public Long getBuyMethod() 
    {
        return buyMethod;
    }
    public void setInvoiceType(Long invoiceType) 
    {
        this.invoiceType = invoiceType;
    }

    public Long getInvoiceType() 
    {
        return invoiceType;
    }
    public void setTaxRate(String taxRate) 
    {
        this.taxRate = taxRate;
    }

    public String getTaxRate() 
    {
        return taxRate;
    }
    public void setCmccRatio(BigDecimal cmccRatio) 
    {
        this.cmccRatio = cmccRatio;
    }

    public BigDecimal getCmccRatio() 
    {
        return cmccRatio;
    }
    public void setTotalDegreeActual(BigDecimal totalDegreeActual) 
    {
        this.totalDegreeActual = totalDegreeActual;
    }

    public BigDecimal getTotalDegreeActual() 
    {
        return totalDegreeActual;
    }
    public void setBillamountNoActual(BigDecimal billamountNoActual) 
    {
        this.billamountNoActual = billamountNoActual;
    }

    public BigDecimal getBillamountNoActual() 
    {
        return billamountNoActual;
    }
    public void setBillamountWithActual(BigDecimal billamountWithActual) 
    {
        this.billamountWithActual = billamountWithActual;
    }

    public BigDecimal getBillamountWithActual() 
    {
        return billamountWithActual;
    }
    public void setPriceNoTax(BigDecimal priceNoTax) 
    {
        this.priceNoTax = priceNoTax;
    }

    public BigDecimal getPriceNoTax() 
    {
        return priceNoTax;
    }
    public void setPriceWithTax(BigDecimal priceWithTax) 
    {
        this.priceWithTax = priceWithTax;
    }

    public BigDecimal getPriceWithTax() 
    {
        return priceWithTax;
    }
    public void setPriceActual(BigDecimal priceActual) 
    {
        this.priceActual = priceActual;
    }

    public BigDecimal getPriceActual() 
    {
        return priceActual;
    }
    public void setElecTaxamountActual(BigDecimal elecTaxamountActual) 
    {
        this.elecTaxamountActual = elecTaxamountActual;
    }

    public BigDecimal getElecTaxamountActual() 
    {
        return elecTaxamountActual;
    }
    public void setBillAmountActual(BigDecimal billAmountActual) 
    {
        this.billAmountActual = billAmountActual;
    }

    public BigDecimal getBillAmountActual() 
    {
        return billAmountActual;
    }
    public void setOnYear(Long onYear) 
    {
        this.onYear = onYear;
    }

    public Long getOnYear() 
    {
        return onYear;
    }
    public void setOnMonth(Long onMonth) 
    {
        this.onMonth = onMonth;
    }

    public Long getOnMonth() 
    {
        return onMonth;
    }
    public void setSecondFeeType(Integer secondFeeType) 
    {
        this.secondFeeType = secondFeeType;
    }

    public Integer getSecondFeeType() 
    {
        return secondFeeType;
    }
    public void setSiteType(Integer siteType) 
    {
        this.siteType = siteType;
    }

    public Integer getSiteType() 
    {
        return siteType;
    }
    public void setOverFlow(Long overFlow) 
    {
        this.overFlow = overFlow;
    }

    public Long getOverFlow() 
    {
        return overFlow;
    }
    public void setPushDate(Date pushDate) 
    {
        this.pushDate = pushDate;
    }

    public Date getPushDate() 
    {
        return pushDate;
    }
    public void setElectricityType(Integer electricityType) 
    {
        this.electricityType = electricityType;
    }

    public Integer getElectricityType() 
    {
        return electricityType;
    }
    public void setLossDegrees(BigDecimal lossDegrees) 
    {
        this.lossDegrees = lossDegrees;
    }

    public BigDecimal getLossDegrees() 
    {
        return lossDegrees;
    }
    public void setLossNotaxAmountTotal(BigDecimal lossNotaxAmountTotal) 
    {
        this.lossNotaxAmountTotal = lossNotaxAmountTotal;
    }

    public BigDecimal getLossNotaxAmountTotal() 
    {
        return lossNotaxAmountTotal;
    }
    public void setBillamountNotax(BigDecimal billamountNotax) 
    {
        this.billamountNotax = billamountNotax;
    }

    public BigDecimal getBillamountNotax() 
    {
        return billamountNotax;
    }
    public void setLastModifyTime(Date lastModifyTime) 
    {
        this.lastModifyTime = lastModifyTime;
    }

    public Date getLastModifyTime() 
    {
        return lastModifyTime;
    }
    public void setCmccRatioActual(BigDecimal cmccRatioActual) 
    {
        this.cmccRatioActual = cmccRatioActual;
    }

    public BigDecimal getCmccRatioActual() 
    {
        return cmccRatioActual;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("auditingState", getAuditingState())
            .append("pregId", getPregId())
            .append("pregName", getPregName())
            .append("regId", getRegId())
            .append("regName", getRegName())
            .append("billaccountId", getBillaccountId())
            .append("billaccountCode", getBillaccountCode())
            .append("billaccountName", getBillaccountName())
            .append("contractCode", getContractCode())
            .append("contractName", getContractName())
            .append("supplyMothed", getSupplyMothed())
            .append("dataFrom", getDataFrom())
            .append("contractStartdate", getContractStartdate())
            .append("contractEnddate", getContractEnddate())
            .append("isIncludeAll", getIsIncludeAll())
            .append("includeTax", getIncludeTax())
            .append("paymentCode", getPaymentCode())
            .append("paymentId", getPaymentId())
            .append("billamountDate", getBillamountDate())
            .append("claimNum", getClaimNum())
            .append("billamountStartdate", getBillamountStartdate())
            .append("billamountEnddate", getBillamountEnddate())
            .append("buyMethod", getBuyMethod())
            .append("invoiceType", getInvoiceType())
            .append("taxRate", getTaxRate())
            .append("cmccRatio", getCmccRatio())
            .append("totalDegreeActual", getTotalDegreeActual())
            .append("billamountNoActual", getBillamountNoActual())
            .append("billamountWithActual", getBillamountWithActual())
            .append("priceNoTax", getPriceNoTax())
            .append("priceWithTax", getPriceWithTax())
            .append("priceActual", getPriceActual())
            .append("elecTaxamountActual", getElecTaxamountActual())
            .append("billAmountActual", getBillAmountActual())
            .append("onYear", getOnYear())
            .append("onMonth", getOnMonth())
            .append("secondFeeType", getSecondFeeType())
            .append("siteType", getSiteType())
            .append("overFlow", getOverFlow())
            .append("pushDate", getPushDate())
            .append("electricityType", getElectricityType())
            .append("lossDegrees", getLossDegrees())
            .append("lossNotaxAmountTotal", getLossNotaxAmountTotal())
            .append("billamountNotax", getBillamountNotax())
            .append("lastModifyTime", getLastModifyTime())
            .append("cmccRatioActual", getCmccRatioActual())
            .toString();
    }
}
